热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

视频回顾|面对上亿级别的用户行为数据,如何做到秒级响应分析

(以下为现场Q&A)Kylin'sGithubRepo传送门

节前,Kyligence 的资深讲师为大家带来了《面对上亿级别的用户行为数据,如何做到秒级响应分析》线上分享,介绍了如何使用 Apache Kylin 进行用户行为分析。错过直播的同学可以直接点击 【阅读原文】 查看视频回放。

(以下为现场Q&A)

Kylin 的使用

Q: Kylin 刷新的最小单位是什么? 另外数据源可以用 MySQL 吗? 

A: Kylin 最小的刷新单位是 Segment,数据源可以选择 MySQL

Q: 请问 Kylin 如何获取明细数据呢? 

A: 首先通过 intersect_value 计算出用户 UID,之后根据 UID 查询明细

Q: Kylin 3.0支持实时了,如何做数据删除和更新,历史数据如何处理?能介绍一下吗?

A: Kylin 的实时功能支持 lambda 模式,用户在数据经过 ETL 后,需要更新 cube 的数据,可以通过创建一个 lambda 表,通过刷新 lambda 表,来实现 cube 数据的更新具体用法参考我们的教程: 

http://kylin.apache.org/docs/tutorial/lambda_mode_and_timezone_realtime_olap.html 

Q: Hive 表的其中一个字段是数组,Kylin 可以将这个字段拆分出来么?

A: Kylin 不支持这个功能,只支持基础数据类型

Q: Kylin 的结果如何通过 PowerBI 展示,需要什么支持的? 

A: 通过 PowerBI 使用开源 Kylin,可以装 Kylin ODBC Driver,使用 PowerBI  通用 ODBC 接口,开源 Kylin 只有使用 PowerBI import 模式(PowerBI有 import + direct query 两种模式),商业版 Kyligence 两种模式都支持

Q: 在 BI 分析 工具 中还能继续做筛选吗?

A: 现在 BI 工具不支持在同一个列上做多个筛选器,行为分析,现有的 BI 工具支持不完善,需要做自研开发

Q: UDAF 的实现有参考文档吗? 

A: 请参考 Calcite 官方文档

Q: 假设表结构修改了,Kylin 能感知到吗? 

A: 需要手动刷新同步表结构,但是如果 cube 已经有数据,是不能同步的。 

Q: model 和 cube 的区别是什么呀?

A: 比较像面向对象中的 Class 类与类实例之间的关系,一个Class 类可以 new 出很多个实例,同样的一个 model 可以创建很多个 cube,model 是模型,cube 是具体的预计算方式和结果 

Kylin 的性能优化

Q: 这个函数的使用对于用户基数过大的情况是否会存在数据膨胀过大的情况?

A: 对于用户基数高的不会,对于维度基数高的会存在,但可以通过设置必要维度,层级维度与联合维度进行控制 

Q: Kylin 自动化构建是不是也需要外部脚本或者程序定时调度?

A: 需要外部调度

Q: 宽表是 cube 里的一个关联表,还是最终 cube 存储成了一个宽表? 

A: 所谓宽表是数据源上的宽表,Kylin cube 设计可以只有一个事实表,也可以是星型模型 

Q: 大规模数据中,如果字典表更新了之前 cube 跑过的数据怎么办呢,有么有办法可以快速重新构建的办法? 

A: 目前只能重新构建 

Q: union 前后的 select 查询是串行执行还是并行执行的?

A: 目前还是串行方式 

Q: HBase 里存的是维表的快照吗?如果维表更新了又要重跑怎么办? 

A: HBase 中存放的是 Cuboid 数据,如果维表更新了,需要重新构建维表的存储是有两种方式除了HBase 还有 meta store,具体请参考官网说明。如果在建模时有维度表的字段选为 normal,那么维表更新是必须刷新 cube ,如果维表的字段全部为 derived,那么是不需要刷新 cube

Q: Kylin 的 rowkey 应该是多维度组合生成的,HBase 对点查支持的好,但是大范围维度查询不友好,Kylin 在查询多维度组合的 Cuboid 时,涵盖很多条件时会不会很慢? 

A: 不一定,这个要看 rowkey 的设计,在设计 rowkey 的时候最好能结合查询,把经常查寻的字段和基数比较大的字段往前放,还可以通过 shard 字段切分数据做相应的优化

intersect_count 函数的使用

Q: 用 intersect_count 和直接在 where 里写 and 和 or 条件的性能是一样的么?

A: 有where 筛选条件,效率会高一点.如果有 where 条件,会首先进行一次过滤,之后再运行 intersect_count 

Q: Tableau、Power BI 查询 Kylin 的话也有 intersect_count 函数吗?

A: Tableau、Power BI 没有内置 intersect_count 函数,但是可以通过直接查询模式使用 

往期案例与实践

  • 宅家必备 | 2019 Kylin 年度文章合辑

  • 滴滴 3000+ Kylin Cube 背后的实践经验揭秘

  • Apache Kylin v3.0.0 正式发布!

  • Kylin在用户行为轨迹分析中的应用实践与优化

  • 小米 Kylin 平滑迁移 HBase 实践

Kylin's Github Repo 传送门

↓↓↓

https://github.com/apache/kylin

喜欢:heart:Kylin 的话,别忘了 Star :star2:一下哟~

视频回顾 | 面对上亿级别的用户行为数据,如何做到秒级响应分析


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 我们


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
author-avatar
djw
匠心独运
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有